web UIでHypernetworkする
基本的にはTexual Invertionと同じ
参考
【】内はデフォルト値
🚨は特に注意して設定
0 画像を集める
データの質が正義
なので頑張って集めましょう
Trainタブへ移動
1 空のHypernetworkファイルを作成
📌Create hypernetworkタブ
Name
Modules【768 / 320 /640 / 1280】
全部に✅で良い?
Enter hypernetwork layer structure【1, 2, 1】
出力の質が下がるかもしれないし、上がらないかもしれないので、要実験!
Select activation function of hypernetwork. Recommended : Swish / Linear(none)【linear】
Swish/Mishにしても良い
なにかは知らない
Select Layer weights initialization. Recommended: Kaiming for relu-like, Xavier for sigmoid-like, Normal otherwise【Normal】
Add layer normalization【🟩】
意味ないので使うな
Use dropout【🟩】
✅を入れてもいいかも?
Overwrite Old Hypernetwork【🟩】
同じ名前のHNがあった場合消して新しく作る
👉Create Hypernetwork
1.5 下準備(任意)
データセットのサイズを整えるなどの下準備をここですることができる
📌Preprocess imagesタブ
Source directory
Destination directory
Width / Height
Existing Caption txt Action
その他
👉Preprocess
2 トレーニング
📌Train_Gammaタブ
Hypernetwork
1で作った空HNを選ぶ
🚨Hypernetwork Learning rate【0.00001】
5e-6(= 0.000005)からスタート
過学習に気をつけながら下げていくのが良い(らしい)
慣れると5e-5からやってる人もいる
Gradient Clipping【disabled】
Batch size【1】
Gradient accumulation steps【1】
🚨Dataset directory
データセット画像が入ったフォルダを指定
Log directory
Prompt template file
トレーニングの進み具合の確認のため、画像を生成する
その時に使うプロンプトを書いたtxtファイル
code:txt
なんでも良いけれど、余計なものを排除するために[filewords]だけが良い
🚨Width / Height【512/512】
1 : 1であることを確認する
それ以外では品質が下がる
Max steps【100000】
Save an image to log directory every N steps, 0 to disable【500】
N回に一回トレーニングしたembeddingsで画像を生成する
うまくいっているかの確認
Save a copy of embedding to log directory every N steps, 0 to disable【500】
Save images with embedding in PNG chunks【✅】
Read parameters (prompt, etc...) from txt2img tab when making previews【🟩】
Shuffle tags by ',' when creating prompts.【🟩】
Drop out tags when creating prompts.【0】
Shuffle tagsと合わせて過学習防止に役立つかもしれない
🚨Choose latent sampling method【once】
deterministicかrandomにすること
randomだとマシンパワーが必要
デフォルトのonceを選んではいけない
👉Train Hypernetwork
2.5 調整する
過学習した場合、数千ステップ戻ってやり直す
出力画像を見ながら、過学習したかな?と思ったらInterruptを押してトレーニングを中断する
$ ~\stable-diffusion-webui\textual_inversion\2023-日付\HNファイル名\hypernetworks
の中から、過学習になる前のファイルをコピー
$ ~\stable-diffusion-webui\models\hypernetworks
の中に放り込む
ここでさっき入れたHNファイルを指定
Hypernetwork Learning rateを5e-7(= 0.0000005)にして再度回す
3 使ってみる
HN-quoria-san-17500.pt
$ masterpiece,chibi,1girl,full body,eat ramen,sitting chair
https://gyazo.com/7cd18974b96a08f16b23d0aa04372869https://gyazo.com/a3e8fb759fd41f6859eabc89a8d6eac3https://gyazo.com/02324f6c88adc12eb9c06c746e732d17
chibiを消すと
https://gyazo.com/e693021ac3503d9c9f4bc2989dc54473https://gyazo.com/9820464342c0aa3f253bf01363980b8chttps://gyazo.com/b504ec01a047dde02a25ca7faf2ef121
データセットとpromptとの関連がなさすぎると大した結果がでない?
これは理解するのが難しいぞ…nomadoor.icon